/* ==================================================
   FLOATING VERTICAL CONTACT BUTTON
================================================== */

.contact-float {
    position: fixed !important;
    right: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;

    z-index: 99999 !important;

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;

    opacity: 1 !important;

    transition:
        transform 0.75s cubic-bezier(0.22, 1, 0.36, 1),
        opacity 0.60s ease !important;
}

.contact-float.hide {
    transform: translate(180px, -50%) !important;
    opacity: 0 !important;
    pointer-events: none !important;
}


/* ==================================================
   BUTTON
================================================== */

.contact-main {
    writing-mode: vertical-lr !important;
    text-orientation: mixed !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    background: #244a91 !important;
    color: #fff !important;

    padding: 34px 14px !important;

    font-family: Inter, Helvetica, Arial, sans-serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    letter-spacing: 0.09em !important;

    text-transform: uppercase !important;
    text-decoration: none !important;

    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    transition: background 0.2s ease !important;
}

.contact-main:hover {
    background: #1b3870 !important;
}


/* ==================================================
   DROPDOWN
================================================== */

.contact-dropdown {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;

    gap: 16px !important;

    margin-top: 18px !important;
    margin-left: 0 !important;
    padding-left: 0 !important;

    background: transparent !important;
    border: none !important;
    box-shadow: none !important;

    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(-8px) !important;

    transition: all 0.25s ease !important;
}

.contact-float:hover .contact-dropdown,
.contact-float.is-open .contact-dropdown {
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
}


/* ==================================================
   ICON LINKS
================================================== */

.contact-dropdown a {
    display: block !important;

    width: 40px !important;
    height: 40px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: transparent !important;
    border: none !important;
    box-shadow: none !important;

    text-decoration: none !important;

    opacity: 0.85 !important;

    transition: all 0.2s ease !important;
}

.contact-dropdown a:hover {
    opacity: 1 !important;
    transform: scale(1.12) !important;
}

.contact-dropdown img {
    display: block !important;

    width: 40px !important;
    height: 40px !important;
}


/* ==================================================
   MOBILE
================================================== */

@media (max-width: 768px) {

    .contact-float {
        right: 0 !important;
        top: auto !important;
        bottom: 120px !important;

        transform: none !important;
    }

    .contact-float.hide {
        transform: translateX(180px) !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }

    .contact-main {
        font-size: 15px !important;
        padding: 24px 9px !important;
    }

    .contact-dropdown img,
    .contact-dropdown a {
        width: 34px !important;
        height: 34px !important;
    }
}


/* ==================================================
   AUF MOBIL AUSBLENDEN
================================================== */

@media (max-width: 767px) {

    .contact-float {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }
}